iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

看到這標題你一定會想說「我學資安幹嘛一定要會python?」

但事實上,Python 在資安的角色很重要:

  • Crypto 題目:解密、編碼轉換,少不了 Python 的套件
  • Pwn 題目pwntools 幾乎是標準工具
  • Forensics / Web 題目:遇到需要轉檔、爆破、發 request,Python 腳本就是最省時間的武器

所以,我們就從最基礎的 Python 開始學,邊學邊看它怎麼應用在資安裡!

1. 最基本的輸出:print()

Python 是一個直觀的語言,最簡單的程式就長這樣:

print("Hello, Security!")

輸出結果:

Hello, Security!

這就是 Python 的第一步。

你可以用 print() 把你想看到的內容印出來,檢查程式有沒有照你想的跑。


2. 變數與字串處理

在資安題目中,常常要處理字串,例如轉大小寫、拼接、拆分。

name = "hacker"
print(name.upper())   # 轉成大寫
print(name + "123")   # 字串拼接

輸出:

HACKER
hacker123

另一個很常見的:把字串合併join()

parts = ["pico", "CTF", "2025"]
print("_".join(parts))   # 用底線連接

輸出:

pico_CTF_2025

3. Bytes 與編碼

很多密碼學或 forensics 題目都會給你一堆亂碼,其實是 bytes

在 Python 裡,我們可以這樣操作:

s = "flag"
b = s.encode()       # 字串轉 bytes
print(b)
s2 = b.decode()      # bytes 轉回字串
print(s2)

輸出:

b'flag'
flag

這個 .encode().decode() 幾乎每一場 CTF 都會用到。


4. 迴圈與判斷

想像一下,如果你要爆破一個密碼,就會需要迴圈

for i in range(5):
    print("Try", i)

輸出:

Try 0
Try 1
Try 2
Try 3
Try 4

判斷式也很直覺:

x = 10
if x > 5:
    print("x 比 5 大")
else:
    print("x 不大於 5")

5. 常見模組

Python 有很多內建的模組能幫你省時間。

Base64 編碼解碼

import base64

s = "hello"
encoded = base64.b64encode(s.encode()) #編碼
print(encoded)

decoded = base64.b64decode(encoded).decode() #解碼
print(decoded)

輸出:

b'aGVsbG8='
hello

Hash 計算

import hashlib

s = "password"
h = hashlib.sha256(s.encode()).hexdigest()
print(h)

輸出:

5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

6. Pwn:pwntools

打CTF必學的套件 —— pwntools

from pwn import *

# 連線到遠端伺服器
p = remote("example.com", 1337)

# 傳送資料
p.sendline(b"hello")

# 接收資料
print(p.recvline())

這就是很多 pwn 題目的標準開頭。

今天就先介紹這些吧!一下子學會全部python語法當然是不可能的啦

大家可以解一下以下picoCTF的題目,熟悉一下python語法~不懂的語法上網查應該都有仔細的介紹!

題單 (都在picoCTF)

  • runme.py
  • PW Crack 1
  • PW Crack 2
  • Glitch Cat
  • fixme1.py
  • fixme2.py
  • convertme.py
  • Codebook
  • Python Wrangling
  • Serpentine
  • PW Crack 3
  • PW Crack 4
  • PW Crack 5

以上就是今天的內容啦~明天會進入密碼學的內容 ! General Skills其他沒介紹到的題目也可以試著解解看ㄛ~

想看更多,記得明天再來喔~


上一篇
Day 5 - 編碼
下一篇
Day 7 - xor
系列文
一天一題picoCTF:從Easy開始的新手生活7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言